{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "from pyspark.sql import SparkSession\n",
    "spark = SparkSession.builder.appName('clustering').getOrCreate()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pyspark\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from pyspark.sql.functions import * \n",
    "from pyspark.sql.types import *\n",
    "from pyspark.sql.functions import rand, randn\n",
    "from pyspark.ml.clustering import KMeans\n",
    "from pyspark.sql.functions import sha2\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "#read the dataset\n",
    "df=spark.read.csv('music_data.csv',inferSchema=True,header=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "429023"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.count()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "root\n",
      " |-- user_id: string (nullable = true)\n",
      " |-- music category: string (nullable = true)\n",
      "\n"
     ]
    }
   ],
   "source": [
    "df.printSchema()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "21"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.select('music category').distinct().count()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "+-----------------+-----+\n",
      "|music category   |count|\n",
      "+-----------------+-----+\n",
      "|Alternative Music|64227|\n",
      "|Blues            |54647|\n",
      "|Classical Music  |43117|\n",
      "|Country Music    |39891|\n",
      "|Dance Music      |35779|\n",
      "|Easy Listening   |34356|\n",
      "|Electronic Music |30985|\n",
      "|Rap              |29569|\n",
      "|Hip Hop          |16895|\n",
      "|Indie Pop        |16244|\n",
      "|Motivational     |10118|\n",
      "|Asian Pop        |8444 |\n",
      "|Jazz             |7685 |\n",
      "|Latin Music      |7302 |\n",
      "|New Age          |7053 |\n",
      "|Opera            |6188 |\n",
      "|Hindi Music      |5689 |\n",
      "|Popular          |4729 |\n",
      "|Soulful          |2403 |\n",
      "|Reggae           |1970 |\n",
      "|Rock             |1732 |\n",
      "+-----------------+-----+\n",
      "\n"
     ]
    }
   ],
   "source": [
    "df.groupBy('music category').count().orderBy('count',ascending=False).show(100,False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "775"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.select('user_id').distinct().count()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "+----------------------------------------------------------------+-----+\n",
      "|user_id                                                         |count|\n",
      "+----------------------------------------------------------------+-----+\n",
      "|628119a73b9725466e6c309f803d30cfc3b11d2a426cdd5f0d62a496e105c914|14257|\n",
      "|179dd34be075e729f14dadc28a34459226c4f62797af5f186bddbb7428b8fc78|11804|\n",
      "|2d765ea4ffc6554c95a1c703afcd3470bc118a65c2f0728871f4d0f40628f41b|11001|\n",
      "|ca60aad85306a7fdd51a469ca6a5d27109dfd5f5781d7da985c70574d2520d23|10479|\n",
      "|03bfd7e24d3a7ce9e3973f9d42ad89e4c1710b89bec59b2b08712ba73372dcbc|10075|\n",
      "|7660ca8a4f5df748976aac001d5f0c5b7c8806f5c08197542d26c2eac4b20f85|9932 |\n",
      "|b6eb8ef9cacc79b6779a7e065c3b0fb5174397ea983d70453bc978b6e46f95e2|7694 |\n",
      "|e92f348b4a29089c9d7b82095d0bd49422153b60bbde08527015121e44699990|7210 |\n",
      "|da03e0ef521fecb209f01410eefff11c115fda2d217dde51fd870761b31bb968|7182 |\n",
      "|04cd1fc5c925a8a702607d6c1a047b8e0cbe170bdaed5270369d321f73254b53|6853 |\n",
      "|a2374ccb47b0af60aafabeed11b979acf0d72e1afe7f96b671302aaa51592531|6730 |\n",
      "|1ed20907b0eb013b6d2b8097671c5faaaae884ac9ae4b77753ee7d640036e080|6612 |\n",
      "|19152e9dc36bd8fdded0be20e1a371cc5a57edd5a248973c9fa5b8ed4c8bdb0c|5378 |\n",
      "|dd69f69a8df66f0d79c8a2ce41ace204dbb74e1a5a3ae36c511b8cd9ef9000a5|5255 |\n",
      "|1b2dfdebfa64564c8eb7785c77b9f1cdaee6059b63b30a59c2701fee6c20407c|4928 |\n",
      "|7cc577809aedea3d9423fccf6091258b9a7a0b66089d6aa86689548139c36e4b|4450 |\n",
      "|0d5b7fbb167130690b8a7149d81529a2048242945a64b46c427915e8fded9e75|4371 |\n",
      "|7a39568d24f3b1a953c2bc98d638cdc2b7eb02f0e6ddcee29bbc5034ec9ad76e|4324 |\n",
      "|e6f90a69588f335223ac774391f7a1835d9225dc8f2090fd59265d9836783f25|4301 |\n",
      "|4ab70e2a682304ce1b4b3b292b015ae343f255aca18863a4fe47a69ffd3470f8|4277 |\n",
      "+----------------------------------------------------------------+-----+\n",
      "only showing top 20 rows\n",
      "\n"
     ]
    }
   ],
   "source": [
    "df.groupBy('user_id').count().orderBy('count',ascending=False).show(20,False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "+----------------------------------------------------------------+-----+\n",
      "|user_id                                                         |count|\n",
      "+----------------------------------------------------------------+-----+\n",
      "|bdb448f271ec83b324acd32248f1401964cb1f5f716e94eebed508f02e889e14|1    |\n",
      "|4d5920f000b000d60fdc63043886f47cc056d2835d3a73e50f389a5694b19115|1    |\n",
      "|597affc56ba81274561da2b3541a8e1a30f7bbcf75cb54a9f9c1a885d88f7f7b|1    |\n",
      "|ba35ab150a757e0b3abf9c5f11b7686e5394f6cdcb59d257f9fd2e1dd7cf23c2|1    |\n",
      "|7ba2fabcbbd4705128a8966d4d5fcf9d3e284c77fada7752da397f479ad4a12e|1    |\n",
      "|402c7aac3776a3758ca143819a0653c6cd33c6c35dd831d9ba5aad1dff43a888|1    |\n",
      "|ecb27d9bf54e751018cd6c1cc5a0f2d812ff08585271acfc980bdacb742a7a02|1    |\n",
      "|8aced64c96741dbeab4659f102f34c157189b3f7a63807d87bad5d8c663005cb|1    |\n",
      "|a09074b27cd4ab61654c0f4e21bc5e97dc86a611743a1f8b37db3a76df8e306e|1    |\n",
      "|e6e6ceb674b7ca53391ac404558a3f8d222db82c643b8c21070db4f029a50095|1    |\n",
      "|8caf42bf00baea90141dec822bece26fc54bf9884c7dbf0439b445fb98b50152|1    |\n",
      "|1e3e7153bf1aa5f43b1d1f27c940087587a50d40d399f4cf31b58546a39b9f26|1    |\n",
      "|55efc631da61b192de874d5e2b05ea1e04ec08bd2e3009ebcd0053a84bbd4341|1    |\n",
      "|760430c89527a8b503dd02bada46926938c5ad036b7ca08a21d685fe5a89f01e|1    |\n",
      "|d631ffaf7f6731b146cecbf16c02fc543d02f5a8377561e5dd60a9eba603e001|1    |\n",
      "|1e6fb89e6aca7641dba8bbd87e97badb8306f1ce50c02c2b0a6f36457e843221|1    |\n",
      "|54f2e60bd31a775aca7fb60816c6990a415fe66694098d1ee64cc9e13f831a64|1    |\n",
      "|8691b41f5ae65644c8aca0ec9d738eb3b5537b106f0fdcb3f652cc77b7ab7dd6|1    |\n",
      "|205f3e9ec7c33098d85500bcf5dd0886526ee1bf1c0609ad5358994bc0a632e6|2    |\n",
      "|964c0029f932feb9c7ecea499317d9e0c40020d3276e9956d71a7887321369ee|2    |\n",
      "+----------------------------------------------------------------+-----+\n",
      "only showing top 20 rows\n",
      "\n"
     ]
    }
   ],
   "source": [
    "df.groupBy('user_id').count().orderBy('count',ascending=True).show(20,False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "#creating new df with single record for each user\n",
    "feature_df=df.stat.crosstab(\"user_id\", \"music category\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "root\n",
      " |-- user_id_music category: string (nullable = true)\n",
      " |-- Alternative Music: long (nullable = true)\n",
      " |-- Asian Pop: long (nullable = true)\n",
      " |-- Blues: long (nullable = true)\n",
      " |-- Classical Music: long (nullable = true)\n",
      " |-- Country Music: long (nullable = true)\n",
      " |-- Dance Music: long (nullable = true)\n",
      " |-- Easy Listening: long (nullable = true)\n",
      " |-- Electronic Music: long (nullable = true)\n",
      " |-- Hindi Music: long (nullable = true)\n",
      " |-- Hip Hop: long (nullable = true)\n",
      " |-- Indie Pop: long (nullable = true)\n",
      " |-- Jazz: long (nullable = true)\n",
      " |-- Latin Music: long (nullable = true)\n",
      " |-- Motivational: long (nullable = true)\n",
      " |-- New Age: long (nullable = true)\n",
      " |-- Opera: long (nullable = true)\n",
      " |-- Popular: long (nullable = true)\n",
      " |-- Rap: long (nullable = true)\n",
      " |-- Reggae: long (nullable = true)\n",
      " |-- Rock: long (nullable = true)\n",
      " |-- Soulful: long (nullable = true)\n",
      "\n"
     ]
    }
   ],
   "source": [
    "feature_df.printSchema()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "+----------------------------------------------------------------+-----------------+---------+-----+---------------+-------------+-----------+--------------+----------------+-----------+-------+---------+----+-----------+------------+-------+-----+-------+---+------+----+-------+\n",
      "|user_id_music category                                          |Alternative Music|Asian Pop|Blues|Classical Music|Country Music|Dance Music|Easy Listening|Electronic Music|Hindi Music|Hip Hop|Indie Pop|Jazz|Latin Music|Motivational|New Age|Opera|Popular|Rap|Reggae|Rock|Soulful|\n",
      "+----------------------------------------------------------------+-----------------+---------+-----+---------------+-------------+-----------+--------------+----------------+-----------+-------+---------+----+-----------+------------+-------+-----+-------+---+------+----+-------+\n",
      "|ca3c4285512798abe7d81fa2d0588549211be9516d9b2050e5564f8e912312c7|65               |0        |7    |8              |7            |12         |7             |2               |12         |7      |0        |15  |0          |2           |0      |3    |0      |3  |0     |1   |0      |\n",
      "|b457919ae168ac12ec7e0303ae0d5fe292b63c9d04eb54e039942e7f46552ec4|80               |0        |65   |135            |16           |55         |7             |34              |0          |12     |6        |7   |3          |2           |1      |2    |0      |5  |0     |0   |0      |\n",
      "|a87bb168ba6e5a8da5eccce18c95565d843b40c1833b0f6c3089eb083f0fe3d3|0                |0        |11   |0              |9            |3          |0             |3               |3          |0      |5        |0   |0          |1           |0      |0    |4      |0  |0     |0   |5      |\n",
      "+----------------------------------------------------------------+-----------------+---------+-----+---------------+-------------+-----------+--------------+----------------+-----------+-------+---------+----+-----------+------------+-------+-----+-------+---+------+----+-------+\n",
      "only showing top 3 rows\n",
      "\n"
     ]
    }
   ],
   "source": [
    "feature_df.show(3,False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "from pyspark.ml.linalg import Vectors\n",
    "from pyspark.ml.feature import VectorAssembler"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['user_id_music category', 'Alternative Music', 'Asian Pop', 'Blues', 'Classical Music', 'Country Music', 'Dance Music', 'Easy Listening', 'Electronic Music', 'Hindi Music', 'Hip Hop', 'Indie Pop', 'Jazz', 'Latin Music', 'Motivational', 'New Age', 'Opera', 'Popular', 'Rap', 'Reggae', 'Rock', 'Soulful']\n"
     ]
    }
   ],
   "source": [
    "print(feature_df.columns)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "feat_cols=[col for col in feature_df.columns if col != 'user_id_music category']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['Alternative Music', 'Asian Pop', 'Blues', 'Classical Music', 'Country Music', 'Dance Music', 'Easy Listening', 'Electronic Music', 'Hindi Music', 'Hip Hop', 'Indie Pop', 'Jazz', 'Latin Music', 'Motivational', 'New Age', 'Opera', 'Popular', 'Rap', 'Reggae', 'Rock', 'Soulful']\n"
     ]
    }
   ],
   "source": [
    "print(feat_cols)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "vec_assembler = VectorAssembler(inputCols = feat_cols, outputCol='features')\n",
    "final_data = vec_assembler.transform(feature_df)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "root\n",
      " |-- user_id_music category: string (nullable = true)\n",
      " |-- Alternative Music: long (nullable = true)\n",
      " |-- Asian Pop: long (nullable = true)\n",
      " |-- Blues: long (nullable = true)\n",
      " |-- Classical Music: long (nullable = true)\n",
      " |-- Country Music: long (nullable = true)\n",
      " |-- Dance Music: long (nullable = true)\n",
      " |-- Easy Listening: long (nullable = true)\n",
      " |-- Electronic Music: long (nullable = true)\n",
      " |-- Hindi Music: long (nullable = true)\n",
      " |-- Hip Hop: long (nullable = true)\n",
      " |-- Indie Pop: long (nullable = true)\n",
      " |-- Jazz: long (nullable = true)\n",
      " |-- Latin Music: long (nullable = true)\n",
      " |-- Motivational: long (nullable = true)\n",
      " |-- New Age: long (nullable = true)\n",
      " |-- Opera: long (nullable = true)\n",
      " |-- Popular: long (nullable = true)\n",
      " |-- Rap: long (nullable = true)\n",
      " |-- Reggae: long (nullable = true)\n",
      " |-- Rock: long (nullable = true)\n",
      " |-- Soulful: long (nullable = true)\n",
      " |-- features: vector (nullable = true)\n",
      "\n",
      "None\n"
     ]
    }
   ],
   "source": [
    "print(final_data.printSchema())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "from pyspark.ml.feature import StandardScaler"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "#scaling the features\n",
    "scaler = StandardScaler(inputCol=\"features\", outputCol=\"scaledFeatures\", withStd=True, withMean=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Compute summary statistics by fitting the StandardScaler\n",
    "scalerModel = scaler.fit(final_data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Normalize each feature to have unit standard deviation.\n",
    "cluster_final_data = scalerModel.transform(final_data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['user_id_music category',\n",
       " 'Alternative Music',\n",
       " 'Asian Pop',\n",
       " 'Blues',\n",
       " 'Classical Music',\n",
       " 'Country Music',\n",
       " 'Dance Music',\n",
       " 'Easy Listening',\n",
       " 'Electronic Music',\n",
       " 'Hindi Music',\n",
       " 'Hip Hop',\n",
       " 'Indie Pop',\n",
       " 'Jazz',\n",
       " 'Latin Music',\n",
       " 'Motivational',\n",
       " 'New Age',\n",
       " 'Opera',\n",
       " 'Popular',\n",
       " 'Rap',\n",
       " 'Reggae',\n",
       " 'Rock',\n",
       " 'Soulful',\n",
       " 'features',\n",
       " 'scaledFeatures']"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cluster_final_data.columns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "With K=2\n",
      "Within Set Sum of Squared Errors = 15470.739574375584\n",
      "------------------------------------------------------------\n",
      "With K=3\n",
      "Within Set Sum of Squared Errors = 12387.69023390554\n",
      "------------------------------------------------------------\n",
      "With K=4\n",
      "Within Set Sum of Squared Errors = 11082.159719722375\n",
      "------------------------------------------------------------\n",
      "With K=5\n",
      "Within Set Sum of Squared Errors = 10702.962781129441\n",
      "------------------------------------------------------------\n",
      "With K=6\n",
      "Within Set Sum of Squared Errors = 9896.745816298979\n",
      "------------------------------------------------------------\n",
      "With K=7\n",
      "Within Set Sum of Squared Errors = 9388.646948253392\n",
      "------------------------------------------------------------\n",
      "With K=8\n",
      "Within Set Sum of Squared Errors = 8618.303474079612\n",
      "------------------------------------------------------------\n",
      "With K=9\n",
      "Within Set Sum of Squared Errors = 8251.596219917868\n",
      "------------------------------------------------------------\n"
     ]
    }
   ],
   "source": [
    "errors=[]\n",
    "\n",
    "for k in range(2,10):\n",
    "    kmeans = KMeans(featuresCol='scaledFeatures',k=k)\n",
    "    model = kmeans.fit(cluster_final_data)\n",
    "    wssse = model.computeCost(cluster_final_data)\n",
    "    errors.append(wssse)\n",
    "    print(\"With K={}\".format(k))\n",
    "    print(\"Within Set Sum of Squared Errors = \" + str(wssse))\n",
    "    print('--'*30)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f958393e518>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "cluster_number = range(2,10)\n",
    "plt.scatter(cluster_number,errors)\n",
    "plt.xlabel('clusters')\n",
    "plt.ylabel('WSSE')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [],
   "source": [
    "#Selecting k =6 for kmeans clustering\n",
    "kmeans6 = KMeans(featuresCol='scaledFeatures',k=6)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [],
   "source": [
    "#Fitting the model on data\n",
    "model_k6 = kmeans6.fit(cluster_final_data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "+----------+-----+\n",
      "|prediction|count|\n",
      "+----------+-----+\n",
      "|         1|    6|\n",
      "|         3|   14|\n",
      "|         5|    1|\n",
      "|         4|    3|\n",
      "|         2|    2|\n",
      "|         0|  749|\n",
      "+----------+-----+\n",
      "\n"
     ]
    }
   ],
   "source": [
    "#Number of customers in each of the clusters\n",
    "model_k6.transform(cluster_final_data).groupBy('prediction').count().show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "+----------------------+-----------------+---------+-----+---------------+-------------+-----------+--------------+----------------+-----------+-------+---------+----+-----------+------------+-------+-----+-------+---+------+----+-------+--------------------+--------------------+----------+\n",
      "|user_id_music category|Alternative Music|Asian Pop|Blues|Classical Music|Country Music|Dance Music|Easy Listening|Electronic Music|Hindi Music|Hip Hop|Indie Pop|Jazz|Latin Music|Motivational|New Age|Opera|Popular|Rap|Reggae|Rock|Soulful|            features|      scaledFeatures|prediction|\n",
      "+----------------------+-----------------+---------+-----+---------------+-------------+-----------+--------------+----------------+-----------+-------+---------+----+-----------+------------+-------+-----+-------+---+------+----+-------+--------------------+--------------------+----------+\n",
      "|  ca3c4285512798abe...|               65|        0|    7|              8|            7|         12|             7|               2|         12|      7|        0|  15|          0|           2|      0|    3|      0|  3|     0|   1|      0|[65.0,0.0,7.0,8.0...|[0.23836018560172...|         0|\n",
      "|  b457919ae168ac12e...|               80|        0|   65|            135|           16|         55|             7|              34|          0|     12|        6|   7|          3|           2|      1|    2|      0|  5|     0|   0|      0|[80.0,0.0,65.0,13...|[0.29336638227904...|         0|\n",
      "|  a87bb168ba6e5a8da...|                0|        0|   11|              0|            9|          3|             0|               3|          3|      0|        5|   0|          0|           1|      0|    0|      4|  0|     0|   0|      5|(21,[2,4,5,7,8,10...|(21,[2,4,5,7,8,10...|         0|\n",
      "|  cf60c9b1a0444261c...|              119|      268|  340|             63|           85|         48|           498|              82|          0|     34|        1|  14|          0|          14|      3|   57|      0| 67|     3|   6|      1|[119.0,268.0,340....|[0.43638249364008...|         0|\n",
      "|  8ab21c1b361d5c4aa...|               23|        7|   81|             22|           30|        197|            11|               8|          0|      7|        6|   0|          0|          12|      7|    2|      9|  7|     0|   1|      0|[23.0,7.0,81.0,22...|[0.08434283490522...|         0|\n",
      "|  34e22754ffec4a0d4...|              192|        1|  158|             40|           83|        110|           126|              39|          1|     33|       68|   1|          0|           4|      2|    0|     11| 13|     0|  28|      7|[192.0,1.0,158.0,...|[0.70407931746971...|         0|\n",
      "|  ad3ea6999df3120cc...|                5|        0|    1|              0|            9|        254|            15|               1|          2|      0|        4|   0|          1|           0|      0|    4|      0|  1|     0|   0|      0|(21,[0,2,4,5,6,7,...|(21,[0,2,4,5,6,7,...|         0|\n",
      "|  3d2ea50eeeb98d4a7...|               31|        2|   17|             22|           21|         66|            90|               8|          2|     26|       42|  10|          0|           4|      6|   12|      0| 14|     0|   1|      9|[31.0,2.0,17.0,22...|[0.11367947313313...|         0|\n",
      "|  334533d21eeed37dd...|                7|        0|    5|              0|            4|          4|             1|               0|          2|      4|        3|   0|          0|           0|      0|    3|      2|  0|     0|   0|      2|(21,[0,2,4,5,6,8,...|(21,[0,2,4,5,6,8,...|         0|\n",
      "|  bad9c123790cfd0b1...|               19|        3|    7|             19|           13|         33|             7|               4|         49|     20|        5|   0|          0|           0|     99|    3|      0| 15|     0|   0|      0|[19.0,3.0,7.0,19....|[0.06967451579127...|         0|\n",
      "+----------------------+-----------------+---------+-----+---------------+-------------+-----------+--------------+----------------+-----------+-------+---------+----+-----------+------------+-------+-----+-------+---+------+----+-------+--------------------+--------------------+----------+\n",
      "only showing top 10 rows\n",
      "\n"
     ]
    }
   ],
   "source": [
    "model_k6.transform(cluster_final_data).show(10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [],
   "source": [
    "cluser_prediction=model_k6.transform(cluster_final_data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "root\n",
      " |-- user_id_music category: string (nullable = true)\n",
      " |-- Alternative Music: long (nullable = true)\n",
      " |-- Asian Pop: long (nullable = true)\n",
      " |-- Blues: long (nullable = true)\n",
      " |-- Classical Music: long (nullable = true)\n",
      " |-- Country Music: long (nullable = true)\n",
      " |-- Dance Music: long (nullable = true)\n",
      " |-- Easy Listening: long (nullable = true)\n",
      " |-- Electronic Music: long (nullable = true)\n",
      " |-- Hindi Music: long (nullable = true)\n",
      " |-- Hip Hop: long (nullable = true)\n",
      " |-- Indie Pop: long (nullable = true)\n",
      " |-- Jazz: long (nullable = true)\n",
      " |-- Latin Music: long (nullable = true)\n",
      " |-- Motivational: long (nullable = true)\n",
      " |-- New Age: long (nullable = true)\n",
      " |-- Opera: long (nullable = true)\n",
      " |-- Popular: long (nullable = true)\n",
      " |-- Rap: long (nullable = true)\n",
      " |-- Reggae: long (nullable = true)\n",
      " |-- Rock: long (nullable = true)\n",
      " |-- Soulful: long (nullable = true)\n",
      " |-- features: vector (nullable = true)\n",
      " |-- scaledFeatures: vector (nullable = true)\n",
      " |-- prediction: integer (nullable = false)\n",
      "\n"
     ]
    }
   ],
   "source": [
    "cluser_prediction.printSchema()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "+----------------------------------------------------------------+----------------------------------------------------------------+----------+\n",
      "|user_id_music category                                          |pca_features                                                    |prediction|\n",
      "+----------------------------------------------------------------+----------------------------------------------------------------+----------+\n",
      "|ca3c4285512798abe7d81fa2d0588549211be9516d9b2050e5564f8e912312c7|[-0.2250735026516284,0.1508289363663226,-0.13922132997808534]   |0         |\n",
      "|b457919ae168ac12ec7e0303ae0d5fe292b63c9d04eb54e039942e7f46552ec4|[-0.5273003162834193,0.10206886950980007,-0.014971360310926437] |0         |\n",
      "|a87bb168ba6e5a8da5eccce18c95565d843b40c1833b0f6c3089eb083f0fe3d3|[-0.23968261020295822,0.2801153618243124,-0.1738219443638187]   |0         |\n",
      "|cf60c9b1a0444261c3a4687677f5336686b96756df5e33c11f6016f16fb38372|[-3.5120515919930178,0.32729433189573715,1.1017302617933256]    |0         |\n",
      "|8ab21c1b361d5c4aa1ed01893305febf1c6659bd342217eece1225d789ba57da|[-0.6796385576703683,0.39608053546483746,0.11474085857053855]   |0         |\n",
      "|34e22754ffec4a0d434edfa0f3b10c0e1ab14c632cee37514076d211cf1e7017|[-2.0964050329364166,0.9121320035474169,0.9912613846332612]     |0         |\n",
      "|ad3ea6999df3120ccb557d34cf75e17dfdd3febe445e9e1bc36514642fcd3bdb|[-0.2944449488892162,0.383978047265129,0.07758752095209272]     |0         |\n",
      "|3d2ea50eeeb98d4a79259ee057955696ec9dc46e1b72e8d8eff099feb3362e1f|[-0.9356027216181408,0.595824057721615,-0.17524154004372516]    |0         |\n",
      "|334533d21eeed37dd2b686022857f9f42eef9fa6192a8653040af844be8d15ef|[-0.13886158277802202,0.15784222493276218,-0.11260624144367197] |0         |\n",
      "|bad9c123790cfd0b1106190de5623afbb70de0e71f5d48dc05ee6d743a2f50a8|[-0.5824585609741292,0.6698195803354224,-0.8684054960184615]    |0         |\n",
      "|dd8b41323bbef6d4093879c63966b025d9dd3dbdab1b372ec3c09ee9e40e277c|[-0.196130385293706,0.12812984441339165,-0.09549024406090195]   |0         |\n",
      "|ac40c16b3c6248cebdfb8cb9e2dee4575862ef1223ece1b393b45b6b2561e8fc|[-0.28548897643969706,0.1507484298534756,-0.25560359089598994]  |0         |\n",
      "|57c20a25da427c79b41690be1b895110bbae9fb583a32a2d27c310e9caa1a395|[-0.11298754622944404,-0.02683169465747653,0.012421222276786992]|0         |\n",
      "|b5773ac4aa0d079266ecc3f02d0a16a0f7fd0789b7c0553782dd0588d57298b4|[-0.4918021450678279,0.3841542970784488,-0.10281962873038579]   |0         |\n",
      "|793c0773daa478bf340a4c6f63fad3beedef69aaa0a8f503995450c8a75cd2bd|[-0.05930380568903517,0.03756596949668735,0.08260181325447052]  |0         |\n",
      "|4c52a409ecbf4c78bf6aa73611615d7c68090162250aeed3118d57177e291e63|[-1.4580702292222283,1.8999456814099018,-3.7715011579509974]    |0         |\n",
      "|fadebf953475576be81797433f0d28278858f93eee0cefcc95b5b03dd787c327|[-0.7083739895738098,0.21507912946609467,0.35753821912208134]   |0         |\n",
      "|86f98ea95c8b3333b947bf9a1a305150633df37e6aac807cddcbbe3463bfd53d|[-2.4658708965532194,0.6606526791365808,0.32230865842212864]    |0         |\n",
      "|1a9da82f18b16577b872a71cefdeae63a7725eac5547820182ba82d8845b02ee|[-4.31655963988883,2.1119157004751234,1.5493486921112498]       |0         |\n",
      "|9e528e07d7deddba5dcafd78c60059c7a91a7233350b2dcad109ae3b413d6aaf|[-0.8673164731150801,0.025748509689555762,0.22457984151934027]  |0         |\n",
      "+----------------------------------------------------------------+----------------------------------------------------------------+----------+\n",
      "only showing top 20 rows\n",
      "\n"
     ]
    }
   ],
   "source": [
    "### PCA for visualization \n",
    "\n",
    "from pyspark.ml.feature import PCA\n",
    "from pyspark.ml.linalg import Vectors\n",
    "\n",
    "\n",
    "\n",
    "pca = PCA(k=3, inputCol=\"scaledFeatures\", outputCol=\"pca_features\")\n",
    "pca_model = pca.fit(cluser_prediction)\n",
    "\n",
    "result = pca_model.transform(cluser_prediction).select('user_id_music category',\"pca_features\",'prediction')\n",
    "result.show(truncate=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>pca_features</th>\n",
       "      <th>prediction</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>user_id_music category</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>ca3c4285512798abe7d81fa2d0588549211be9516d9b2050e5564f8e912312c7</th>\n",
       "      <td>[-0.225073502652, 0.150828936366, -0.139221329...</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>b457919ae168ac12ec7e0303ae0d5fe292b63c9d04eb54e039942e7f46552ec4</th>\n",
       "      <td>[-0.527300316283, 0.10206886951, -0.0149713603...</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>a87bb168ba6e5a8da5eccce18c95565d843b40c1833b0f6c3089eb083f0fe3d3</th>\n",
       "      <td>[-0.239682610203, 0.280115361824, -0.173821944...</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>cf60c9b1a0444261c3a4687677f5336686b96756df5e33c11f6016f16fb38372</th>\n",
       "      <td>[-3.51205159199, 0.327294331896, 1.10173026179]</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8ab21c1b361d5c4aa1ed01893305febf1c6659bd342217eece1225d789ba57da</th>\n",
       "      <td>[-0.67963855767, 0.396080535465, 0.114740858571]</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>34e22754ffec4a0d434edfa0f3b10c0e1ab14c632cee37514076d211cf1e7017</th>\n",
       "      <td>[-2.09640503294, 0.912132003547, 0.991261384633]</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ad3ea6999df3120ccb557d34cf75e17dfdd3febe445e9e1bc36514642fcd3bdb</th>\n",
       "      <td>[-0.294444948889, 0.383978047265, 0.0775875209...</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3d2ea50eeeb98d4a79259ee057955696ec9dc46e1b72e8d8eff099feb3362e1f</th>\n",
       "      <td>[-0.935602721618, 0.595824057722, -0.175241540...</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>334533d21eeed37dd2b686022857f9f42eef9fa6192a8653040af844be8d15ef</th>\n",
       "      <td>[-0.138861582778, 0.157842224933, -0.112606241...</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>bad9c123790cfd0b1106190de5623afbb70de0e71f5d48dc05ee6d743a2f50a8</th>\n",
       "      <td>[-0.582458560974, 0.669819580335, -0.868405496...</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                                                         pca_features  \\\n",
       "user_id_music category                                                                                  \n",
       "ca3c4285512798abe7d81fa2d0588549211be9516d9b205...  [-0.225073502652, 0.150828936366, -0.139221329...   \n",
       "b457919ae168ac12ec7e0303ae0d5fe292b63c9d04eb54e...  [-0.527300316283, 0.10206886951, -0.0149713603...   \n",
       "a87bb168ba6e5a8da5eccce18c95565d843b40c1833b0f6...  [-0.239682610203, 0.280115361824, -0.173821944...   \n",
       "cf60c9b1a0444261c3a4687677f5336686b96756df5e33c...    [-3.51205159199, 0.327294331896, 1.10173026179]   \n",
       "8ab21c1b361d5c4aa1ed01893305febf1c6659bd342217e...   [-0.67963855767, 0.396080535465, 0.114740858571]   \n",
       "34e22754ffec4a0d434edfa0f3b10c0e1ab14c632cee375...   [-2.09640503294, 0.912132003547, 0.991261384633]   \n",
       "ad3ea6999df3120ccb557d34cf75e17dfdd3febe445e9e1...  [-0.294444948889, 0.383978047265, 0.0775875209...   \n",
       "3d2ea50eeeb98d4a79259ee057955696ec9dc46e1b72e8d...  [-0.935602721618, 0.595824057722, -0.175241540...   \n",
       "334533d21eeed37dd2b686022857f9f42eef9fa6192a865...  [-0.138861582778, 0.157842224933, -0.112606241...   \n",
       "bad9c123790cfd0b1106190de5623afbb70de0e71f5d48d...  [-0.582458560974, 0.669819580335, -0.868405496...   \n",
       "\n",
       "                                                    prediction  \n",
       "user_id_music category                                          \n",
       "ca3c4285512798abe7d81fa2d0588549211be9516d9b205...           0  \n",
       "b457919ae168ac12ec7e0303ae0d5fe292b63c9d04eb54e...           0  \n",
       "a87bb168ba6e5a8da5eccce18c95565d843b40c1833b0f6...           0  \n",
       "cf60c9b1a0444261c3a4687677f5336686b96756df5e33c...           0  \n",
       "8ab21c1b361d5c4aa1ed01893305febf1c6659bd342217e...           0  \n",
       "34e22754ffec4a0d434edfa0f3b10c0e1ab14c632cee375...           0  \n",
       "ad3ea6999df3120ccb557d34cf75e17dfdd3febe445e9e1...           0  \n",
       "3d2ea50eeeb98d4a79259ee057955696ec9dc46e1b72e8d...           0  \n",
       "334533d21eeed37dd2b686022857f9f42eef9fa6192a865...           0  \n",
       "bad9c123790cfd0b1106190de5623afbb70de0e71f5d48d...           0  "
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "clusters = result.toPandas().set_index('user_id_music category')\n",
    "clusters.head(10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [],
   "source": [
    "clusters[['x','y','z']]=pd.DataFrame(clusters.pca_features.values.tolist(), index= clusters.index)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [],
   "source": [
    "del clusters['pca_features']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>prediction</th>\n",
       "      <th>x</th>\n",
       "      <th>y</th>\n",
       "      <th>z</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>user_id_music category</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>ca3c4285512798abe7d81fa2d0588549211be9516d9b2050e5564f8e912312c7</th>\n",
       "      <td>0</td>\n",
       "      <td>-0.225074</td>\n",
       "      <td>0.150829</td>\n",
       "      <td>-0.139221</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>b457919ae168ac12ec7e0303ae0d5fe292b63c9d04eb54e039942e7f46552ec4</th>\n",
       "      <td>0</td>\n",
       "      <td>-0.527300</td>\n",
       "      <td>0.102069</td>\n",
       "      <td>-0.014971</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>a87bb168ba6e5a8da5eccce18c95565d843b40c1833b0f6c3089eb083f0fe3d3</th>\n",
       "      <td>0</td>\n",
       "      <td>-0.239683</td>\n",
       "      <td>0.280115</td>\n",
       "      <td>-0.173822</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>cf60c9b1a0444261c3a4687677f5336686b96756df5e33c11f6016f16fb38372</th>\n",
       "      <td>0</td>\n",
       "      <td>-3.512052</td>\n",
       "      <td>0.327294</td>\n",
       "      <td>1.101730</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8ab21c1b361d5c4aa1ed01893305febf1c6659bd342217eece1225d789ba57da</th>\n",
       "      <td>0</td>\n",
       "      <td>-0.679639</td>\n",
       "      <td>0.396081</td>\n",
       "      <td>0.114741</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>34e22754ffec4a0d434edfa0f3b10c0e1ab14c632cee37514076d211cf1e7017</th>\n",
       "      <td>0</td>\n",
       "      <td>-2.096405</td>\n",
       "      <td>0.912132</td>\n",
       "      <td>0.991261</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ad3ea6999df3120ccb557d34cf75e17dfdd3febe445e9e1bc36514642fcd3bdb</th>\n",
       "      <td>0</td>\n",
       "      <td>-0.294445</td>\n",
       "      <td>0.383978</td>\n",
       "      <td>0.077588</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3d2ea50eeeb98d4a79259ee057955696ec9dc46e1b72e8d8eff099feb3362e1f</th>\n",
       "      <td>0</td>\n",
       "      <td>-0.935603</td>\n",
       "      <td>0.595824</td>\n",
       "      <td>-0.175242</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>334533d21eeed37dd2b686022857f9f42eef9fa6192a8653040af844be8d15ef</th>\n",
       "      <td>0</td>\n",
       "      <td>-0.138862</td>\n",
       "      <td>0.157842</td>\n",
       "      <td>-0.112606</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>bad9c123790cfd0b1106190de5623afbb70de0e71f5d48dc05ee6d743a2f50a8</th>\n",
       "      <td>0</td>\n",
       "      <td>-0.582459</td>\n",
       "      <td>0.669820</td>\n",
       "      <td>-0.868405</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                    prediction         x  \\\n",
       "user_id_music category                                                     \n",
       "ca3c4285512798abe7d81fa2d0588549211be9516d9b205...           0 -0.225074   \n",
       "b457919ae168ac12ec7e0303ae0d5fe292b63c9d04eb54e...           0 -0.527300   \n",
       "a87bb168ba6e5a8da5eccce18c95565d843b40c1833b0f6...           0 -0.239683   \n",
       "cf60c9b1a0444261c3a4687677f5336686b96756df5e33c...           0 -3.512052   \n",
       "8ab21c1b361d5c4aa1ed01893305febf1c6659bd342217e...           0 -0.679639   \n",
       "34e22754ffec4a0d434edfa0f3b10c0e1ab14c632cee375...           0 -2.096405   \n",
       "ad3ea6999df3120ccb557d34cf75e17dfdd3febe445e9e1...           0 -0.294445   \n",
       "3d2ea50eeeb98d4a79259ee057955696ec9dc46e1b72e8d...           0 -0.935603   \n",
       "334533d21eeed37dd2b686022857f9f42eef9fa6192a865...           0 -0.138862   \n",
       "bad9c123790cfd0b1106190de5623afbb70de0e71f5d48d...           0 -0.582459   \n",
       "\n",
       "                                                           y         z  \n",
       "user_id_music category                                                  \n",
       "ca3c4285512798abe7d81fa2d0588549211be9516d9b205...  0.150829 -0.139221  \n",
       "b457919ae168ac12ec7e0303ae0d5fe292b63c9d04eb54e...  0.102069 -0.014971  \n",
       "a87bb168ba6e5a8da5eccce18c95565d843b40c1833b0f6...  0.280115 -0.173822  \n",
       "cf60c9b1a0444261c3a4687677f5336686b96756df5e33c...  0.327294  1.101730  \n",
       "8ab21c1b361d5c4aa1ed01893305febf1c6659bd342217e...  0.396081  0.114741  \n",
       "34e22754ffec4a0d434edfa0f3b10c0e1ab14c632cee375...  0.912132  0.991261  \n",
       "ad3ea6999df3120ccb557d34cf75e17dfdd3febe445e9e1...  0.383978  0.077588  \n",
       "3d2ea50eeeb98d4a79259ee057955696ec9dc46e1b72e8d...  0.595824 -0.175242  \n",
       "334533d21eeed37dd2b686022857f9f42eef9fa6192a865...  0.157842 -0.112606  \n",
       "bad9c123790cfd0b1106190de5623afbb70de0e71f5d48d...  0.669820 -0.868405  "
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "clusters.head(10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f95839a2748>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from mpl_toolkits.mplot3d import Axes3D\n",
    "cluster_vis = plt.figure(figsize=(10,10)).gca(projection='3d')\n",
    "cluster_vis.scatter(clusters.x, clusters.y, clusters.z, c=clusters.prediction)\n",
    "cluster_vis.set_xlabel('x')\n",
    "cluster_vis.set_ylabel('y')\n",
    "cluster_vis.set_zlabel('z')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
